package main

import (
	"fmt"

	"github.com/spf13/viper"
)

type Options struct {
	MapValue MapValue
}

type MapValue map[string]string

func main() {
	// 1. 配置 viper 并加载配置文件
	viper.SetConfigFile("C:\\Users\\CZC\\Desktop\\CZC_pro\\go-mxshop\\GoStart\\z_demo\\demo_common\\demo10\\config.yaml")
	err := viper.ReadInConfig()
	if err != nil {
		fmt.Println("Failed to read config file:", err)
		return
	}

	// 2. 定义结构体类型 Options 和 MapValue

	// 3. 创建 Options 类型的变量
	var a Options

	// 4. 使用 viper.Unmarshal 将配置文件中的值解析到 a.options 变量
	err = viper.Unmarshal(&a)
	if err != nil {
		fmt.Println("Failed to unmarshal options:", err)
		return
	}

	// 5. 打印解析后的值
	fmt.Println(a.MapValue)
}
